kzg-rs 0.2.3

Rust implementation of KZG point evaluation
Documentation

kzg-rs Rust

An endpoint for verify_kzg_proof in c-kzg-4844 using bls12_381. Passes all of the verify_kzg_proof tests in c-kzg-4844/verify_kzg_proof.

Cycle Counts in SP1

Test Cycle Count
Verify blob KZG proof 27,166,173
Verify blob KZG proof batch (10 blobs) 196,571,578
Evaluate polynomial in evaluation form 59,370,556
Compute challenge 57,341,532
Verify KZG proof 9,390,640

This crate has been used in a fork of SP1's patch of revm, which passes all tests. kzg-rs is based on this slightly modified fork of bls12_381. This crate works in [no_std] mode.

Usage

cargo add kzg-rs

Or add

kzg-rs = { version = "0.2.3" }

You can rebuild roots_of_unity.bin, g1.bin, and g2.bin by running

cargo build